# -------------  参数 形参-关键字参数-强制参数  -----------------


# 形参  什么样的都可以接收  关键字也可以
def formalParameter(a,b,c,d,e):
    print(a,b,c,d,e)

# 关键字参数   使用*标记  代表*后面的都是 必须  c=1 d=2 e=3这种
def keywordArgument(a,b,*,c,d,e):
    print(a,b,c,d,e)


# 强制参数 使用/后面的代表只能是 普通传进来一个参数  比如  keywordArgument(a=1,2,3,4,5)  不能使用关键字
# python3.8才有这个功能
# def keywordArgument(a,b,/,c,d,e):
#     print(a,b,c,d,e)

# *a 代表是一个元组
def tup(*a):
    print(type(a))
    for i in a:
        print(i)


# **a 代表是一个字典传参
def dictParam(**a):
    print(type(a))
    for i in a:
        print(a[i])



if __name__ == '__main__':
    formalParameter(1,2,3,4,5)
    keywordArgument(1,2,c=3,d=4,e=5)
    tup(1,2,3,4)
    dictParam(a="1",b="2")